import { get, post, postWithQueryParams } from "@/api/request";

/**
 * 检查部位 控制器 / 检查部位 控制器添加检查部位
 * @param {object} data
 * @param {string} [data.checkArea] 检查部位
 * @param {string} [data.correctiveAction] 整改措施
 * @param {string} [data.createTime] 记录创建时间 YYYY-MM-DD HH:mm:ss
 * @param {string} [data.createUser] 创建人
 * @param {boolean} [data.delFlag] 是否删除标识 (0 - 未删除, 1 - 已删除)
 * @param {array<number>} [data.fileIdList] 附件id
 * @param {number} [data.id] 主键
 * @param {string} [data.inspectionDescription] 检查说明
 * @param {string} [data.inspectionResult] 检查结果
 * @param {number} [data.qualityId] 巡检id
 * @param {string} [data.updateTime] 记录更新时间 YYYY-MM-DD HH:mm:ss
 * @param {string} [data.updateUser] 更新人
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<InspectionSite页面展示实体>}
 */
export function inspectionSiteAdd(data, config) {
  return post("/inspectionSite/add", data, config);
}

/**
 * 检查部位 控制器 / 检查部位 控制器删除检查部位
 * @param {object} params
 * @param {object} data
 * @param {string} params.id 检查部位ID
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<InspectionSite页面展示实体>}
 */
export function inspectionSiteDelete(params, data, config) {
  return postWithQueryParams("/inspectionSite/delete", params, data, config);
}

/**
 * 检查部位 控制器 / 检查部位 控制器查询检查部位详情
 * @param {object} params
 * @param {string} params.id 检查部位ID
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<InspectionSite页面展示实体>}
 */
export function inspectionSiteDetail(params, config) {
  return get("/inspectionSite/detail", params, config);
}

/**
 * 检查部位 控制器 / 检查部位 控制器分页查询检查部位
 * @param {object} data
 * @param {string} [data.checkArea] 检查部位
 * @param {string} [data.correctiveAction] 整改措施
 * @param {string} [data.createdBy] 创建人
 * @param {string} [data.createdTime] 记录创建时间 YYYY-MM-DD HH:mm:ss
 * @param {boolean} [data.delFlag] 是否删除标识 (0 - 未删除, 1 - 已删除)
 * @param {number} [data.id] 主键
 * @param {string} [data.inspectionDescription] 检查说明
 * @param {string} [data.inspectionResult] 检查结果
 * @param {number} [data.length] 分页大小
 * @param {number} [data.orderAsc] 排序方向
 * @param {string} [data.orderColum] 排序字段
 * @param {number} [data.pageIndex] 分页下标
 * @param {number} [data.qualityId] 巡检id
 * @param {number} [data.start] 查询记录起始下标
 * @param {string} [data.updatedBy] 更新人
 * @param {string} [data.updatedTime] 记录更新时间 YYYY-MM-DD HH:mm:ss
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<分页返回实体<InspectionSite页面展示实体>>}
 */
export function inspectionSiteList(data, config) {
  return post("/inspectionSite/list", data, config);
}

/**
 * 检查部位 控制器 / 检查部位 控制器更新检查部位
 * @param {object} data
 * @param {string} [data.checkArea] 检查部位
 * @param {string} [data.correctiveAction] 整改措施
 * @param {string} [data.createdBy] 创建人
 * @param {string} [data.createdTime] 记录创建时间 YYYY-MM-DD HH:mm:ss
 * @param {boolean} [data.delFlag] 是否删除标识 (0 - 未删除, 1 - 已删除)
 * @param {number} [data.id] 主键
 * @param {string} [data.inspectionDescription] 检查说明
 * @param {string} [data.inspectionResult] 检查结果
 * @param {number} [data.qualityId] 巡检id
 * @param {string} [data.updatedBy] 更新人
 * @param {string} [data.updatedTime] 记录更新时间 YYYY-MM-DD HH:mm:ss
 * @param {import("axios").AxiosRequestConfig} [config]
 * @returns {Promise<InspectionSite页面展示实体>}
 */
export function inspectionSiteUpdate(data, config) {
  return post("/inspectionSite/update", data, config);
}

/**
 * @template T
 * @typedef {Object} 分页返回实体
 * @property {T[]} content - 内容
 * @property {number} elementsNo
 * @property {number} limit
 * @property {number} number
 * @property {number} totalElements
 * @property {number} totalPages
 * @description 分页返回实体
 */

/**
 * @typedef {object} InspectionSite页面展示实体 检查部位页面展示实体
 * @property {string} checkArea 检查部位
 * @property {string} correctiveAction 整改措施
 * @property {string} createTime 记录创建时间
 * @property {string} createUser 创建人
 * @property {boolean} delFlag 是否删除标识 (0 - 未删除, 1 - 已删除)
 * @property {number} id 主键
 * @property {string} inspectionDescription 检查说明
 * @property {string} inspectionResult 检查结果
 * @property {number} qualityId 巡检id
 * @property {string} updateTime 记录更新时间
 * @property {string} updateUser 更新人
 * @description 检查部位页面展示实体
 */
